package com.muyaxuan.mail.controller.admin;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.muyaxuan.mail.dao.UserDao;
import com.muyaxuan.mail.dto.User;
/**
 * 管理员登录控制类
 * @author Administrator
 */
@RequestMapping("/admin")
@Controller
public class AdminController {
	//跳转后台登录页面
	@RequestMapping("/showLogins")
	public String logins(){
		
		return "logins";
	}
	/**
	 * 跳转后台主页
	 * @return
	 */
	@RequestMapping(value="/main")
	public String main(){
		
		return "main";
	}
	/**
	 * 管理员登录ajax
	 * @return
	 */
	@ResponseBody()
	@RequestMapping("/adminLoginAjax")
	public Map<String,Object> adminLoginAjax(String userId,String password,String vcode,HttpServletRequest request){
		User user = null;
		
		UserDao userDao = null;
		
		Map<String,Object> map = new HashMap<>();
		//从session中获取验证码
		String oldCode=(String)request.getSession().getAttribute("code");
		
		if(vcode == null||!oldCode.equals(vcode)){
			
			map.put("status", 1);
			
			map.put("tip", "验证码不正确!");
		}else{
			
			user=new User();
			
			user.setUserId(userId);
			
			user.setPassword(password);
			//设置用户角色 1为普通用户 2 为管理员
			user.setRole(2);
			
			userDao=new UserDao();
			
			user=userDao.getAdmin(user);
			//判断管理员是否为空
			if(user!=null){
				
				request.getSession().setAttribute("session_user", user);
				
				map.put("status", 0);	
			}else{
				
				map.put("status", 3);
				
				map.put("tip", "管理员名或密码不正确!");
			}
		}
		
		return map;
	}
	/**
	 * 管理员退出
	 * @param session
	 * @return
	 */
	@RequestMapping("/logout")
	public String logout(HttpSession session){
		//让session失效
		session.invalidate();
		//返回后台登录页面
		return "logins";
	}
	
	/*
	 * 	登录成功 = 0
		验证码不正确 = 1
		账号或密码不能为空 = 2
		账号或密码格式不正确 = 3
		用户还未激活 = 4
	 */
	

}
